package 晚间作业0316.Doc12_课后习题;

import java.util.ArrayList;
import java.util.List;


public class Doc12_07 {

    /**
     * 7. 【中】设计一个方法，将如下字符串中的所有手机号码和固话号码提取出来，存入一个数组返回。
     * 7.1手机号码的校验: 首位是1，第二位是 3579，后面都是数字
     * 7.2固化校验: 区号-号码，其中区号3或4位，号码7位，且首位不能是0
     * 7.3待提取数据的字符串:
     */
    public static void main(String[] args) {
        String numbers = "17788889999-010-9988776-19822883322-0398-8976564-16722882288-0922-78906543-15490876845-010-99821123";
        List<String> result = new ArrayList<>();
        String[] split = numbers.split("-");
        for (int i = 0; i < split.length;) {
            if (split[i].matches("(\\d){3,4}") && split[i+1].matches("[1-9](\\d){6}")){
                result.add(split[i] + "-" + split[i+1]);
                i+=2;
                continue;
            }
            if (split[i].matches("1[3579](\\d)+")) {
                result.add(split[i]);
            }
            i++;
        }
        System.out.println(result);
    }
}
